package TP2.modelo;
import java.awt.Point;


//
public class Avioneta extends AvionConArmas {

	/**
	 * 
	 */
	private static final long serialVersionUID = 5050620281534837156L;
	private int cantidadDeMovimientos;
	private MoverRectoEnVertical movimientoRectoEnVertical;
	
	
	public Avioneta(Point punto){
		this();
		this.setPosicion(punto);
	}
	public Avioneta(){
		//Constructor de clase
		
		//inicializo el ancestro
		super();
		
		//Defino las caracteristicas de la nave		
		nivelDeVida = 10;
		radioDeColision = 18;
		cantidadDeMovimientos = 0;
		puntajePorDestruccion = 50;
		velocidad = 4;
				
		//Cargo las armas en la nave
		CanionLaser canionLaser = new CanionLaser();
		this.agregarArma(canionLaser);
		
			
		
		//Instancio un movimiento recto.
		movimientoRectoEnVertical = new MoverRectoEnVertical(radioDeColision, velocidad);
		
	}
	
	
		
	//Hace vivir al avion, se movera de arriba a abajo, disparando cada cuatro pasos
	public void vivir(){
		if(estaDestruido) return;
		Point posicionActual;
		
				
		posicionActual = this.getPosicion();		
		
		//Incrementamos la cant de movimientos
		cantidadDeMovimientos++;
		
		//Muevo el avion
		posicionActual = movimientoRectoEnVertical.mover(posicionActual);
		
		//Guardo la posicion actual
		this.setPosicion(posicionActual);
		
		//Si se realizo una cierta cantidad de movimientos, se dispara
		if(cantidadDeMovimientos % 90 == 0){
			this.disparar();
		
		}	
	}
	@Override
	public String getTipo() {
		// 
		return "Avioneta";
	}
}
